#ifndef __RTRT_MATERIAL_H__
#define __RTRT_MATERIAL_H__

#include "Prerequisite.h"

namespace RTRT
{
    class Material
        {
        public:
            Material(const Color& color, const float reflect, const diffuse):
				m_color(color),
				m_reflect(relect),
				m_diffuse(diffuse)	
			{
				
			}
            void setColor( const Color& color ) {
                m_color = color;
            }

           	Color& getColor() {
                return m_color;
            }
                        
            void setDiffuse( const float diffuse ) {
                m_diffuse = diffuse;
            }
            
            float getDiffuse() {
                return m_diffuse;
            }
			
            void setReflection( const float reflection ) {
                m_reflect = reflection;
            }
                        
            float getReflection() {
                return m_reflect;
            }
			
			void setRefraction(const float refraction) {
				m_refract = refraction;
			}
			
			float getRefraction() {
				return m_refract;
			}
			
			void setSpecular(const float specular) {
				m_specular = specular;
			}
			
            float getSpecular() {
                return m_diffuse;
            }

			void setDiffRefl(float diffRefl) {
				m_diffRefl = diffRefl;
			}
			
			float getDiffRefl() {
				return m_diffRefl;
			}

        private:
            Color m_color;
            float m_reflect;
			float m_refract;
			float m_specular;
            float m_diffuse;
			float m_diffRefl;
        };
}


#endif
